/**
 * 
 */
package ar.edu.unicen.exa.oop.bbquery.model.forum;

import java.net.URI;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedList;

import ar.edu.unicen.exa.oop.bbquery.model.forum.topic.CompositeTopic;
import ar.edu.unicen.exa.oop.bbquery.model.forum.topic.LeafTopic;
import ar.edu.unicen.exa.oop.bbquery.model.forum.topic.Topic;

/**
 * @author nicolas
 *
 */
public class ModelFactory {

	public static DefaultForum createDefaultForum() {
		return new DefaultForum();
	}

	public static DefaultForum createDefaultForum(String title) {
		return new DefaultForum(title);
	}

	public static DefaultForum createDefaultForum(
			HashMap<Integer, Topic> topics, String title) {
		return new DefaultForum(topics, title);
	}

	public static BeanForumAuthToken createBeanForumAuthToken() {
		return new BeanForumAuthToken();
	}

	public static BeanForumAuthToken createBeanForumAuthToken(String user,
			String pwd, URI urlForum, String forum) {
		return new BeanForumAuthToken(user, pwd, urlForum, forum);
	}

	public static Post createPost(Integer id) {
		return new Post(id);
	}

	public static Post createPost(String title, String crtr, Date cr_date,
			String pcont, URI ltp) {
		return new Post(title, crtr, cr_date, pcont, ltp);
	}

	public static LeafTopic createLeafTopic(String description,
			int topicNumber, Post p, int views) {
		return new LeafTopic(description, topicNumber, p, views);
	}

	public static CompositeTopic createCompositeTopic(String title,
			String description, int topicNumber, LinkedList<Topic> t) {
		return new CompositeTopic(title, description, topicNumber, t);
	}

}
